﻿/* mvcForum
 * Copyright (C) 2010-2011 Steen F. Tøttrup
 * http://mvcforum.org/
 */

using System;

namespace mvcForum.Core.Abstractions.Interfaces {

	/// <summary>
	/// Interface for the Forum data object.
	/// </summary>
	public interface IForumData : IDataContainer {
		/// <summary>
		/// Name of the forum.
		/// </summary>
		String Name { get; set; }
		/// <summary>
		/// Sort order.
		/// </summary>
		Int32 SortOrder { get; set; }
		/// <summary>
		/// Id of the (parent) category.
		/// </summary>
		Int32 CategoryId { get; set; }
		/// <summary>
		/// Id of the (parent) forum, if any.
		/// </summary>
		Int32? ParentId { get; set; }
		/// <summary>
		/// Description of the forum.
		/// </summary>
		String Description { get; set; }
		/// <summary>
		/// Timestamp of the last posted message.
		/// </summary>
		DateTime? LastPosted { get; set; }
		/// <summary>
		/// Timestamp of the last posted topic.
		/// </summary>
		Int32? LastTopicId { get; set; }
		/// <summary>
		/// Id of the last posted message.
		/// </summary>
		Int32? LastPostId { get; set; }
		/// <summary>
		/// Id of the author of the last posted message.
		/// </summary>
		Int32? LastPostUserId { get; set; }
		/// <summary>
		/// Name of the author of the last posted message.
		/// </summary>
		String LastPostUsername { get; set; }
		/// <summary>
		/// Number of topics.
		/// </summary>
		Int32 TopicCount { get; set; }
		/// <summary>
		/// Number of posts.
		/// </summary>
		Int32 PostCount { get; set; }
	}
}